package com.util;


import redis.clients.jedis.Jedis;

/**
 * 适用REDIS的工具类
 * @author mwg
 *
 */
public class RedisUtil {
	
	public static void main(String[] args) {
//		setCache("name", "mwg");
		System.out.println(getCache("se"));
	}
	/**
	 * 根据KEY，查询对应的缓存数据，如果REDIS里面有，则从里面取，如果没有返回字符串：emp
	 * @param key
	 * @return
	 */
	public static Object getCache(String key)
	{
		Object obj=null;
		Jedis jedis = RedisCon.getJedis();
		//判断REDIS里面是否存在
		if(jedis.exists(key))//如果存在
		{
			byte[] res=jedis.get(key.getBytes());
			obj=SerializeUtil.deserialize(res);
		}else
		{
		}

		RedisCon.returnResource(jedis);
		return obj;
	}
	/**
	 * 往redis中放入BYTE数组
	 * @param key
	 * @param val
	 */
	public static void setCache(String key,byte[] val)
	{
		Jedis jedis = RedisCon.getJedis();
		jedis.set(key.getBytes(), val); 
		RedisCon.returnResource(jedis);
	}
	/**
	 * 往redis中放入对象
	 * @param key
	 * @param val
	 */
	public static void setCache(String key,Object val)
	{
		Jedis jedis = RedisCon.getJedis();
		jedis.set(key.getBytes(), SerializeUtil.serialize(val)); 
		RedisCon.returnResource(jedis);
	}
	/**
	 * 往redis中放入字符串
	 * @param key
	 * @param val
	 */
	public static void setStr(String key,String val)
	{
		Jedis jedis = RedisCon.getJedis();
		jedis.set(key, val); 
		RedisCon.returnResource(jedis);
	}
	
	
	
	/**
	 * 判断REDIS是否有该值
	 * @param key
	 * @param val
	 */
	public static boolean isexi(String key)
	{
		boolean res=false;
		Jedis jedis = RedisCon.getJedis();
		res=jedis.exists(key);
		RedisCon.returnResource(jedis);
		return res;
	}
	/**
	 * 获取值
	 * @param key
	 * @return
	 */
	public  static String getStr(String key)
	{
		Jedis jedis = RedisCon.getJedis();
		String res= jedis.get(key);
		RedisCon.returnResource(jedis);
		return res;
	}
	/**
	 * 清除KEY，用来更新缓存使用，删除=更新
	 * @param key
	 */
	public static void clearStr(String key)
	{
		Jedis jedis = RedisCon.getJedis();
		jedis.del(key);
		RedisCon.returnResource(jedis);
	}
	/**
	 * 像LIST中存入变量
	 * @param key
	 * @param val
	 */
	public  static void pushList(String key,String val)
	{
		Jedis jedis = RedisCon.getJedis();
		jedis.lpush(key, val);
		RedisCon.returnResource(jedis);
	}

}
